package com.tt.service;

import com.tt.common.exception.TtException;
import com.tt.common.page.QueryInfo;
import com.tt.common.page.TtResult;
import com.tt.mapper.ItemParamMapper;
import com.tt.pojo.ItemParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import java.util.List;

/**
 * @author 青青
 */
@Service
public class ItemParamServiceImpl implements ItemParamService
{
    @Autowired
    private ItemParamMapper itemParamMapper;

    @Override
    public TtResult getItemParamList(QueryInfo queryInfo)
    {
        List<ItemParam> paramList = itemParamMapper.getItemParamList(queryInfo);
        TtResult result = TtResult.ok(paramList);
        result.setTotal(itemParamMapper.getItemParamTotal());
        return result;
    }

    @Override
    public ItemParam getItemParamById(Integer id)
    {
        ItemParam itemParamById = itemParamMapper.getItemParamById(id);
        return itemParamById;
    }

    @Override
    public ItemParam getParamByCid(Integer cid) {
        ItemParam paramByCid = itemParamMapper.getParamByCid(cid);
        if (!StringUtils.isEmpty(paramByCid))
        {
            return paramByCid;
        }
        throw new TtException("找不到该类目的规格");
    }

    @Override
    public TtResult addParam(ItemParam param)
    {
        //验证是否存在规格参数 不存在可以添加
        Integer itemCatId = param.getItemCatId();
        ItemParam paramByCid = itemParamMapper.getParamByCid(itemCatId);
        if (StringUtils.isEmpty(paramByCid)){
            int i = itemParamMapper.addItemParam(param);
            return TtResult.ok(i);
        }
       throw new TtException("该商品类目已经存在规格参数了");
    }

    @Override
    public TtResult delItemParam(List<Integer> ids)
    {
        int i = itemParamMapper.delItemParam(ids);
        return TtResult.ok(i);
    }

    @Override
    public TtResult updateItemParam(ItemParam param)
    {
        int i = itemParamMapper.updateItemParam(param);
        return TtResult.ok(i);
    }
}
